/************************************************************************
                        Person.h.cpp - Copyright asaf

**************************************************************************/

#include "Person.h"
// Constructors/Destructors
//  

Person::Person ( ) {;}

Person::~Person ( ) { }


Person::Person (const string &ID,string FirstName,string LastName,int type,int permission ,int semester,string address,int birthDay,int birthMonth,int birthYear)
:m_ID(ID),m_FirstName(FirstName),m_LastName(LastName),m_type(type),m_permission(permission),m_semester(semester),m_address(address),m_birthDay(birthDay),m_birthMonth(birthMonth),m_birthYear(birthYear){;}


Person::Person(const Person &p)
:m_ID(p.m_ID),m_FirstName(p.m_FirstName),m_LastName(p.m_LastName),m_type(p.m_type),m_permission(p.m_permission),m_semester(p.m_semester),m_address(p.m_address),m_birthDay(p.m_birthDay),m_birthMonth(p.m_birthMonth),m_birthYear(p.m_birthYear){;}


bool Person::operator==(const Person &rhs)
{
	if(m_ID==rhs.m_ID)return true;
	return false;
}


//  
// Methods
//  





/**
 * Set the value of m_ID
 * @param new_var the new value of m_ID
 */
void Person::setID ( string new_var ) {
		m_ID = new_var;
}

/**
 * Get the value of m_ID
 * @return the value of m_ID
 */
string Person::getID ( ) {
		return m_ID;
}

/**
 * Set the value of m_FirstName
 * @param new_var the new value of m_FirstName
 */
void Person::setFirstName ( string new_var ) {
		m_FirstName = new_var;
}

/**
 * Get the value of m_FirstName
 * @return the value of m_FirstName
 */
string Person::getFirstName ( ) {
		return m_FirstName;
}

/**
 * Set the value of m_LastName
 * @param new_var the new value of m_LastName
 */
void Person::setLastName ( string new_var ) {
		m_LastName = new_var;
}

/**
 * Get the value of m_LastName
 * @return the value of m_LastName
 */
string Person::getLastName ( ) {
		return m_LastName;
}

/**
 * Set the value of m_type
 * @param new_var the new value of m_type
 */
void Person::setType ( int new_var ) {
		m_type = new_var;
}

/**
 * Get the value of m_type
 * @return the value of m_type
 */
int Person::getType ( ) {
		return m_type;
}

// Other methods
//  

void Person::setPermission (int new_var){m_permission=new_var;}
int Person::getPermission (){return m_permission;}
void Person::setSemester (int new_var){m_semester=new_var;}
int Person::getSemester (){return m_semester;}

string Person::getAddress()const{return m_address;}
void Person::setAddress(string a){m_address=a;}

int Person::getBirthDay()const{
	return m_birthDay;
}
int Person::getBirthMonth()const{return m_birthMonth;}
int Person::getBirthYear()const{return m_birthYear;}

void Person::setBirthDay(int t){m_birthDay=t;}
void Person::setBirthMonth(int t){m_birthMonth=t;}
void Person::setBirthYear(int t){m_birthYear=t;}